package com.ruoyi.publish.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专家管理对象 identify_expert_managementt
 * 
 * @author 张泽望
 * @date 2020-11-03
 */
public class IdExpert extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 专家姓名 */
    @Excel(name = "专家姓名",type = Excel.Type.ALL)
    private String expertName;

    /** 出生年月 */
    @Excel(name = "出生年月", width = 20, dateFormat = "yyyy-MM-dd",type = Excel.Type.ALL)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /** 曾任职务 */
    @Excel(name = "曾任职务",type = Excel.Type.IMPORT)
    private String positions;

    /** 受聘年份 */
    @Excel(name = "受聘年份", width = 20, dateFormat = "yyyy-MM-dd",type = Excel.Type.ALL)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date employmentTime;

    /** 审读范围 */
    @Excel(name = "审读范围", type = Excel.Type.ALL ,dictType="re_review_scope")
    private String reviewScope;

    /** 递送地址 */
    @Excel(name = "递送地址", type = Excel.Type.ALL )
    private String deliveryAddress;

    /** 邮政编码 */
    @Excel(name = "邮政编码", type = Excel.Type.ALL )
    private String postalCode;

    /** 电子邮件 */
    @Excel(name = "电子邮件", width = 20, type = Excel.Type.ALL )
    private String email;

    /** 生活照片 */
    private String photo;

    /** 其他说明 */
    private String explanation;

    /** 联系方式 */
    @Excel(name = "联系方式", type = Excel.Type.ALL )
    private String by1;

    /** 备用字段2 */
    private String by2;

    /** 备用字段3 */
    private String by3;

    /** 已审样本数 */
    @Excel(name = "已审样本数", type = Excel.Type.EXPORT)
    private Long reviewedNumber;

    /** 稿费 */
    @Excel(name = "稿费",type = Excel.Type.EXPORT)
    private BigDecimal manuscriptFee;

    /**
     * 导出的id集合
     */
    private String exportIds;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setExpertName(String expertName) 
    {
        this.expertName = expertName;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "专家姓名")
    public String getExpertName() 
    {
        return expertName;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "出生年月")
    public Date getBirthday() 
    {
        return birthday;
    }
    public void setPositions(String positions) 
    {
        this.positions = positions;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "曾任职务")
    public String getPositions() 
    {
        return positions;
    }
    public void setEmploymentTime(Date employmentTime) 
    {
        this.employmentTime = employmentTime;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "受聘年份")
    public Date getEmploymentTime() 
    {
        return employmentTime;
    }
    public void setReviewScope(String reviewScope) 
    {
        this.reviewScope = reviewScope;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "审读范围")
    public String getReviewScope() 
    {
        return reviewScope;
    }
    public void setDeliveryAddress(String deliveryAddress) 
    {
        this.deliveryAddress = deliveryAddress;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "递送地址")
    public String getDeliveryAddress() 
    {
        return deliveryAddress;
    }
    public void setPostalCode(String postalCode) 
    {
        this.postalCode = postalCode;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "邮政编码")
    public String getPostalCode() 
    {
        return postalCode;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "电子邮件")
    public String getEmail() 
    {
        return email;
    }
    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }
    public void setExplanation(String explanation) 
    {
        this.explanation = explanation;
    }

    public String getExplanation() 
    {
        return explanation;
    }
    public void setBy1(String by1) 
    {
        this.by1 = by1;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "联系方式")
    public String getBy1() 
    {
        return by1;
    }
    public void setBy2(String by2) 
    {
        this.by2 = by2;
    }

    public String getBy2() 
    {
        return by2;
    }
    public void setBy3(String by3) 
    {
        this.by3 = by3;
    }

    public String getBy3() 
    {
        return by3;
    }
    public void setReviewedNumber(Long reviewedNumber) 
    {
        this.reviewedNumber = reviewedNumber;
    }

    public Long getReviewedNumber() 
    {
        return reviewedNumber;
    }
    public void setManuscriptFee(BigDecimal manuscriptFee) 
    {
        this.manuscriptFee = manuscriptFee;
    }

    public BigDecimal getManuscriptFee() 
    {
        return manuscriptFee;
    }

    public String getExportIds() {
        return exportIds;
    }

    public void setExportIds(String exportIds) {
        this.exportIds = exportIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("expertName", getExpertName())
            .append("birthday", getBirthday())
            .append("positions", getPositions())
            .append("employmentTime", getEmploymentTime())
            .append("reviewScope", getReviewScope())
            .append("deliveryAddress", getDeliveryAddress())
            .append("postalCode", getPostalCode())
            .append("email", getEmail())
            .append("photo", getPhoto())
            .append("explanation", getExplanation())
            .append("by1", getBy1())
            .append("by2", getBy2())
            .append("by3", getBy3())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("reviewedNumber", getReviewedNumber())
            .append("manuscriptFee", getManuscriptFee())
            .toString();
    }
}
